The evolution of mobile data services and technologies has resulted in the availability of greater bandwidth, such as that provided by 3rd-Generation (3G) wide area mobile and telephone networks.
At the same time, technological advances have enabled the practical commercialisation of increasingly sophisticated portable devices, such as tablet PCs (including the Apple iPad), and smartphones. Smartphones, in particular, are mobile phones offering advanced computing capabilities and connectivity, which may be thought of as handheld computers integrated within a mobile telephone. Smartphones are particularly characterised in that the user is able to install and run a wide range of advanced applications, based on sophisticated operating system software that provides a platform for application developers. Popular smartphone operating system platforms include Symbian OS, the Blackberry OS, iOS (used by the Apple iPhone and iPad devices), Android, and the Windows Phone OS. Depending upon the device and operating system, third-party applications (commonly termed ‘apps’) may be widely available for download and installation, or may be available from device and/or OS specific services.
This evolution of mobile data services and devices has brought with it an increasing expectation of high-quality end-user experience. In particular, end-users expect apps to be responsive, accurate, consistent and to have a high availability. Given the ability of smartphones and other sophisticated mobile devices to run apps developed by third-party services providers, the end-user experience of such apps can have a significant impact upon their providers. For example, many banks make apps available for iOS and Android-based devices, in order to provide end-users with convenient access to online banking services. The convenience of mobile access may be desirable to many customers, however a poor quality end-user experience may result in customer dissatisfaction, low uptake of the mobile services, and/or lost business. It is therefore important for the operators of such services to have visibility of the performance of their mobile apps, and ideally to be able to monitor the end-user experience. However, the overall performance of any mobile application may depend upon the performance of a very large number of resources that are utilised by subscribers to the various services provided by the system. The resources that may influence overall performance include not only the radio channel itself, but also the shared fixed network services, communications services, Internet services (such as the Domain Name Service, DNS) and the various computing services within the service provider systems that are responsible for delivering the mobile application services.
Accordingly, the end-user experience in mobile systems may be influenced by numerous factors, not all of which may be within the full control of the mobile application service provider. It is therefore highly desirable to provide performance monitoring systems that are able to identify degradation in end-user experience that may lead to customer dissatisfaction and other adverse effects, and ideally assist in identifying the system resources that may be contributing to the degradation in service quality. Conversely, the ability to detect events, such as high traffic or processing loads within particular parts of the system, that are not actually impacting on end-user experience, is of limited value, and may in fact result in the inappropriate deployment of resources and expenditure. However, prior art performance monitoring systems have been unable to detect and respond to specific degradation in the end user experience of mobile applications.
Passive monitoring of system performance is one known approach, which essentially monitors available network statistics provided by various monitored resources or agents installed and executing therein. The basic information available through passive monitoring, such as throughput, response times, and so forth, is not necessarily indicative of any variation in the actual end-user experience. A more sophisticated approach, synthetic transaction monitoring, generally involves the generation (as the name suggests) of individual artificial transactions over the system, each of which is directed to one or more monitored resources, and measuring the performance, such as the response time, of such transactions. However, this type of monitoring fails to take into account the complex manner in which real users operate applications, which may generate sequences of interrelated transactions that may result in a different end-user experience than might be suggested by the results of measuring individual synthetic transactions. Users are primarily affected by the overall responsiveness of the application, and not by the performance of any particular individual transaction.
A system for monitoring and management of distributed information systems is disclosed in commonly assigned U.S. patent application Ser. No. 11/706,031, filed on 11 Aug. 2005, (now U.S. Pat. No. 7,953,847 B2, issued May 31, 2011) and which is hereby incorporated herein in its entirety by reference. The system described therein supports the monitoring of end-user experience and performance of applications, for example via remote control of user terminals, which is readily available for devices such as desktop PCs. However, the system is not directly applicable to mobile devices, which do not typically provide the rich set of features available on fixed computing devices, such as desktop PCs.
Accordingly, there exists a need for a method and system enabling a comparable level of monitoring of the end-user experience of mobile applications, to that which is available for fixed applications. It is an object of the present invention to address this need.